package com.wmx.test.transaction;

import org.apache.rocketmq.client.producer.LocalTransactionState;
import org.apache.rocketmq.client.producer.TransactionListener;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.common.message.MessageExt;

public class TransactionProducerHandle implements TransactionListener {

    /**
     * 发送prepare消息成功后回调该方法用于执行本地事务
     * @param message 回传的信息，利用transactionId即可获得到该信息的唯一Id
     * @param o 调用send方法时传递的参数，当send时候若有额外的参数可以传递到send方法中这里能获取到
     * @return 返回事务状态 ，commit ：提交 rollback :回滚  unknown：回调
     */
    @Override
    public LocalTransactionState executeLocalTransaction(Message message, Object o) {
        return null;
    }

    /**
     *
     * @param messageExt 通过获取transactionId来判断这条信息的本地事务执行状态
     * @return 返回事务状态，commit：提交 rollback 回滚 unkonw：回调
     */
    @Override
    public LocalTransactionState checkLocalTransaction(MessageExt messageExt) {
        return null;
    }
}
